package com.lt.test.provider.mapper;

import com.lt.test.entity.DTO.CheckingDetailDTO;
import com.lt.test.entity.DTO.GeneralLedgerDTO;
import com.lt.test.entity.DTO.SmokeCustomerListDTO;
import com.lt.test.entity.QueryModel.PageQueryModel;

import java.util.List;
import java.util.Map;

/**
 * Created by zhengchuan on 2017/4/21.
 */
public interface CheckingMapper {
    /**
     * 分页查询总账数据
     * @param pageQueryModel
     * @return
     * @throws Exception
     */
    List<GeneralLedgerDTO> getGeneralLedgerByPageQuery(PageQueryModel pageQueryModel) throws Exception;

    /**
     * 查询对账数据总数
     * @param pageQueryModel
     * @return
     * @throws Exception
     */
    int getGeneralLedgerCountByPageQuery(PageQueryModel pageQueryModel) throws Exception;

    List<String> getTbcocompNames(Map<String, String> params) throws Exception;

    List<String> getBankNames(Map<String, String> tbcocompId) throws Exception;

    List<String> getMerNames(Map<String, String> bankCode) throws Exception; //@Param("bankCode")

    /**
     * 分页查询明细数据
     * @param pageQueryModel
     * @return
     * @throws Exception
     */
    List<CheckingDetailDTO> getCheckingDetailByPageQuery(PageQueryModel pageQueryModel) throws Exception;

    /**
     * 查询明细数据总数
     * @param pageQueryModel
     * @return
     * @throws Exception
     */
    int getCheckingDetailCountByPageQuery(PageQueryModel pageQueryModel) throws Exception;

    List<Map<String,Object>> getGeneralLedgerToExportExcel(PageQueryModel pageQueryModel) throws Exception;

    List<Map<String,Object>> getDetailToExportExcel(PageQueryModel pageQueryModel) throws Exception;

    List<Map<String,Object>> selectEmpNameToSelected(Map<String, String> params) throws Exception;

    List<Map<String,Object>> selectChannelNameToSelected(Map<String, String> params) throws Exception;

    List<SmokeCustomerListDTO> getSmokeCustomerByPageQuery(Map<String, String> pageQueryModel) throws Exception;

    int getSmokeCustomerCountByPageQuery(Map<String, String> pageQueryModel) throws Exception;

    List<Map<String,Object>> getSmokeCustomerByQuery(Map<String, String> params)  throws Exception;

    List<Map<String,Object>> getMain1Data(Map<String, String> stringMap) throws Exception;

    List<Map<String,Object>> getMain2Data(Map<String, String> stringMap) throws Exception;

    List<Map<String,Object>> getMain3Data(Map<String, String> stringMap) throws Exception;

    List<Map<String,Object>> getMain4Data(Map<String, String> stringMap) throws Exception;

    List<Map<String,Object>> getMain5Data(Map<String, String> stringMap) throws Exception;

    List<Map<String,Object>> getMain6Data(Map<String, String> stringMap) throws Exception;

    List<Map<String,Object>> getMain7Data(Map<String, String> stringMap) throws Exception;

    List<Map<String,Object>> selectQuXianNameToSelected(Map<String, String> params) throws Exception;

    List<Map<String,String>> getBuyShopInfoByPhone(String phone) throws Exception;

    List<Map<String,Object>> selectOrderLevelToSelected() throws Exception;

    List<Map<String,Object>> selectBaseTypeNameToSelected() throws Exception;

    List<Map<String,Object>> selectCityTypeToSelected() throws Exception;


    List<Map<String,Object>> selectMaterialCompanyToSelected();

    List<Map<String,Object>> getCustomerMain1Data(Map<String, String> stringMap);

    List<Map<String,Object>> getCustomerMain2Data(Map<String, String> stringMap);
    List<Map<String,Object>> getCustomerMain3Data(Map<String, String> stringMap);
    List<Map<String,Object>> getCustomerMain4Data(Map<String, String> stringMap);
    List<Map<String,Object>> getCustomerMain5Data(Map<String, String> stringMap);
    List<Map<String,Object>> getCustomerMain6Data(Map<String, String> stringMap);

    String getCustomerRegisterNum(Map<String, String> stringMap);

    String getCustomerDayOrderNum(Map<String, String> stringMap);

    List<Map<String,String>> getSmokeCustomerStatisticsListByPageQuery(Map<String, String> stringMap);

    int getSmokeCustomerCountStatisticsListByPageQuery(Map<String, String> stringMap);

    List<Map<String,Object>> getCustomerShop(Map<String, String> stringMap);

    List<Map<String,Object>> getCarLastLocation(Map<String, String> stringMap);
}
